<?php
header("Content-Type: text/html; charset=iso-8859-1");
error_reporting(E_ALL ^ E_NOTICE);
include "/../session.php";

switch($_GET['action']){
        case "loginUsuario": loginUsuario(); break;
		case "agregarEvento": agregarEvento(); break;
		case "editarDatos": editarDatos(); break;
		case "editarEvento": editarEvento(); break;
		case "registrarUsuario": registrarUsuario(); break;
		case "eliminarEvento": eliminarEvento(); break;
        default:
                echo "";
}

function truncateFloat($number, $digitos){
	$raiz = 10;
	$multiplicador = pow ($raiz,$digitos);
	$resultado = ((int)($number * $multiplicador)) / $multiplicador;
	return number_format($resultado, $digitos);
}
	
function getLatLong($address){
	$name = urlencode($address);
	$baseUrl = 'http://nominatim.openstreetmap.org/search?format=json&q=';
	$data = file_get_contents("{$baseUrl}{$name}&limit=1");
	$json = json_decode($data);
	$lat = $json[0]->lat;
	$lon = $json[0]->lon;
	$lat = truncateFloat($lat,6)*1000000;
	$lon = truncateFloat($lon,6)*1000000;
	//printf( '%0.3f', $lat );
	//echo ",";
	//printf( '%0.3f', $lon );
	$coords = array($lat,$lon);
	return $coords;
}

function loginUsuario(){		
    require_once("/../DAOs/UserDAO.php");
    $userDAO = new UserDAO();
    $user = $_POST['user'];
    $password = $_POST['password'];
	$result = $userDAO->validarUsuario($user, $password);
	if($result >= 1){
		echo "<script type='text/javascript'> document.location.href='http://localhost/gonow/indexUser.php';</script>";			

	}
	else{ 
		echo "<script type='text/javascript'> alert('Usuario y/o contrasena incorrecto.'); document.location.href='http://localhost/gonow/index.php';</script>";
	}
}

function eliminarEvento(){
	require_once("/../DAOs/UserDAO.php");
    $userDAO = new UserDAO();
	$id_evento = $_GET['id'];
	$id_usuario = $_SESSION['id_user'];
	
	//echo "<script type='text/javascript'> alert('$id_evento $id_usuario'); </script>";
	$result = $userDAO->deleteEvento($id_evento, $id_usuario);
	
	if($result >= 1){
		echo "<script type='text/javascript'> alert('Evento eliminado'); document.location.href='http://localhost/gonow/indexUser.php';</script>";			

	}
	else{ 
		echo "<script type='text/javascript'> alert('Error al eliminar evento'); document.location.href='http://localhost/gonow/indexUser.php';</script>";
	}
}

function registrarUsuario(){
	require_once("/../DAOs/UserDAO.php");
    $userDAO = new UserDAO();
	
	$correo_usuario = $_POST['correo_usuario'];
    $password_usuario = $_POST['password_usuario'];
	$nombre_usuario = $_POST['nombre_usuario'];
	$fono_usuario = $_POST['fono_usuario'];
	$empresa_usuario = $_POST['empresa_usuario'];
	$result = $userDAO->agregarUsuario($correo_usuario, $password_usuario, $nombre_usuario, $fono_usuario, $empresa_usuario);
	
	if($result >= 1){
		echo "<script type='text/javascript'> alert('Registro completado'); document.location.href='http://localhost/gonow';</script>";			

	}
	else{ 
		echo "<script type='text/javascript'> alert('Error de registro.'); document.location.href='http://localhost/gonow/index.php';</script>";
	}
	
}

function agregarEvento(){
	require_once("/../DAOs/UserDAO.php");
    $userDAO = new UserDAO();
    $id_usuario = $_SESSION['id_user'];
	
	$nombre_evento = $_POST['nombre_evento'];
	$fecha_inicio = $_POST['fecha_inicio'];
	$hora_inicio = $_POST['hora_inicio'];
	$fecha_termino = $_POST['fecha_termino'];
	$hora_termino = $_POST['hora_termino'];
	$direccion_evento = $_POST['direccion_evento'];
	$precios = $_POST['precios'];
	$id_categoria = $_POST['id_categoria'];
	$lat = $_POST['lat'];
	$lon = $_POST['lon'];
	$descripcion = $_POST['descripcion'];
	
	$fecha_inicio = $fecha_inicio." ".$hora_inicio;
	$fecha_termino = $fecha_termino." ".$hora_termino;
	
	//echo "<script type='text/javascript'>alert('$fecha_inicio , $fecha_termino')</script>";
	
	if ($lat == "" && $lon == ""){
		$coordenadas = getLatLong($direccion_evento);
	}
	
	else{
		$coordenadas[0] = truncateFloat($lat,6)*1000000;;
		$coordenadas[1] = truncateFloat($lon,6)*1000000;;
	}
	
	
	/*if($result >= 1){
		echo "<script type='text/javascript'> alert('Descripcion Agregada')</script>";			

	}
	else{ 
		echo "<script type='text/javascript'> alert('Error al agregar descripcion');</script>";
	}*/
	
	$result = $userDAO->insertarEvento($nombre_evento,$fecha_inicio, $fecha_termino,$direccion_evento,$precios, $id_categoria, $coordenadas[0], $coordenadas[1], $id_usuario);
	
	if($result >= 1){
		$resultado = $userDAO->getIDEvento($nombre_evento, $fecha_inicio);
		list($id_evento) = $userDAO->fetch($resultado);
		if ($descripcion != ""){
			$result = $userDAO->insertDescripcion($id_evento, $descripcion);
		}
		echo "<script type='text/javascript'> alert('Evento Agregado'); document.location.href='http://localhost/gonow/indexUser.php';</script>";			

	}
	else{ 
		echo "<script type='text/javascript'> alert('Error al agregar evento'); document.location.href='http://localhost/gonow/indexUser.php';</script>";
	}
}

function editarEvento(){
	require_once("/../DAOs/UserDAO.php");
    $userDAO = new UserDAO();
    $id_usuario = $_SESSION['id_user'];
	
	$id_evento = $_POST['id_evento'];
	$nombre_evento = $_POST['nombre_evento'];
	$fecha_inicio = $_POST['fecha_inicio'];
	$hora_inicio = $_POST['hora_inicio'];
	$fecha_termino = $_POST['fecha_termino'];
	$hora_termino = $_POST['hora_termino'];
	$direccion_evento = $_POST['direccion_evento'];
	$precios = $_POST['precios'];
	$id_categoria = $_POST['id_categoria'];
	$lat = $_POST['lat'];
	$lon = $_POST['lon'];
	$descripcion = $_POST['descripcion'];
	
	$fecha_inicio = $fecha_inicio." ".$hora_inicio;
	$fecha_termino = $fecha_termino." ".$hora_termino;
	
	if ($lat == "" && $lon == ""){
		$coordenadas = getLatLong($direccion_evento);
	}
	
	else{
		$coordenadas[0] = truncateFloat($lat,6)*1000000;;
		$coordenadas[1] = truncateFloat($lon,6)*1000000;;
	}
	if ($descripcion != ""){
		$resultDescripcion = $userDAO->getDescripcion($id_evento);
		
		if($userDAO->numRows($resultDescripcion) > 0){
			$id_descripcion = $_POST['id_descripcion'];
			$result = $userDAO->updateDescripcion($id_descripcion, $descripcion);
		}
		else {
			$result = $userDAO->insertDescripcion($id_evento, $descripcion);
		}
	}

	/*if($result >= 1){
		echo "<script type='text/javascript'> alert('Descripcion Modificada')</script>";			

	}
	else{ 
		echo "<script type='text/javascript'> alert('Error al editar descripcion');</script>";
	}*/

	$result = $userDAO->updateEvento($id_evento, $nombre_evento,$fecha_inicio, $fecha_termino ,$direccion_evento,$precios, $id_categoria, $coordenadas[0], $coordenadas[1], $id_usuario);
	if($result >= 1){
		echo "<script type='text/javascript'> alert('Evento Modificado'); document.location.href='http://localhost/gonow/indexUser.php';</script>";			

	}
	else{ 
		echo "<script type='text/javascript'> alert('Error al editar evento'); document.location.href='http://localhost/gonow/indexUser.php';</script>";
	}
}

function editarDatos(){
	require_once("/../DAOs/UserDAO.php");
    $userDAO = new UserDAO();
    $id_usuario = $_SESSION['id_user'];
	
	$correo_usuario = $_POST['correo_usuario'];
	$fono_usuario = $_POST['fono_usuario'];
	$empresa_usuario = $_POST['empresa_usuario'];
	$nombre_usuario = $_POST['nombre_usuario'];
	$password_usuario = $_POST['password_usuario'];
	
	$result = $userDAO->updateDatos($id_usuario, $correo_usuario, $password_usuario, $nombre_usuario, $fono_usuario, $empresa_usuario);
	
	if($result >= 1){
		echo "<script type='text/javascript'> alert('Datos Modificados'); document.location.href='http://localhost/gonow/indexUser.php';</script>";			

	}
	else{ 
		echo "<script type='text/javascript'> alert('Error al editar datos'); document.location.href='http://localhost/gonow/indexUser.php';</script>";
	}
}

?>